Tips&Tricks | I trucchi del mestiere |
![]() |
Come ricavare la versione del programma sviluppato |
Il codice che segue permette di ricavare la versione del programma, le stesse informazioni visualizzate dal menu proprietà di un file Windows.
Me.Caption = Me.Caption &App.Major & "." & App.Minor & "." & App.Revision |
![]() |
Convertire in modo semplice un file grafico da WMF a BMP |
Private Sub Command1_Click() ' Legge il file WMF Prova dal disco e: Picture1.Picture = LoadPicture("e:\prova.wmf") ' Salva nella stessa directory il corrispondente file in formato BMP SavePicture Picture1.Image, "" End Sub |
![]() |
Spostare un file su disco |
Name "C:\MIOFILE.TXT" As "C:\COPIA\MIOFILE.TXT" |
Invece di rinominare il file il risultato sarà lo spostamento in un'altra directory.
![]() |
Controllare se un form Φ presente in memoria |
Private Function CercaForm(ByVal form_name As String) As Form Dim i As Integer ' Per default la form non e' trovata. Set CercaForm = Nothing ' Ciclo per la ricerca. For i = 0 To Forms.Count - 1 If Forms(i).Name = form_name Then ' We found it. Return this form. Set CercaForm = Forms(i) Exit For End If Next i End Function |
![]() |
Accettare solo caratteri numerici all'interno di una textbox |
Private Sub Text1_Change() If Not IsNumeric(Text1.Text) Then Text1.Text = "" End If |
![]() |
Come rilevare una connessione internet attiva |
Private Declare Function InternetGetConnectedState Lib "wininet" (ByRef dwflags As Long,ByVal dwReserved As Long) As Long |
Con queste costanti
possiamo anche distinguere il tipo di connessione attiva.
Private Const CONNECT_LAN As Long = &H2 Private Const CONNECT_MODEM As Long = &H1 Private Const CONNECT_PROXY As Long = &H4 Private Const CONNECT_OFFLINE As Long = &H20 |
Il codice che segue
illustra un possibile uso della funzione in oggetto.
Public Function IsWebConnected(Optional ByRef ConnType As String) As Boolean Dim dwflags As Long Dim WebTest As Boolean ConnType = "" WebTest = InternetGetConnectedState(dwflags, 0&) Select Case WebTest Case dwflags And CONNECT_LAN: ConnType = "LAN" Case dwflags And CONNECT_MODEM: ConnType = "Modem" Case dwflags And CONNECT_PROXY: ConnType = "Proxy" Case dwflags And CONNECT_OFFLINE: ConnType = "Offline" End Select IsWebConnected = WebTest End Function Private Sub Command1_Click() Dim msg As String If IsWebConnected(msg) Then msg = "Sei connesso ad internet tramite : " & msg Else msg = "Non sei connesso ad internet." End If MsgBox msg, vbOKOnly, "Stato della connessione ad internet" End Sub |
![]() |
Come rilevare il tipo di unitα fornita come parametro |
Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long |
![]() |
Rilevare lo spazio disponibile su un disco e altre informazioni |
Private Declare Function GetDiskFreeSpace Lib "kernel32" Alias "GetDiskFreeSpaceA" (ByVal lpRootPathName As String, lpSectorsPerCluster As Long, lpBytesPerSector As Long, lpNumberOfFreeClusters As Long, lpTtoalNumberOfClusters As Long) As Long |
![]() |
Conoscere la dimensione in byte di un file |
Dimensione=FileLen("c:\miofile.txt ") |
![]() |
Come rilevare il nome del computer in uso |
Private Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long Function Nomepc() As String Dim ls_Mach As String Dim ll_MachLen As Long ll_MachLen = 16 ls_Mach = String$(ll_MachLen, 0) If GetComputerName(ls_Mach, ll_MachLen) Then Nomepc = Left$(ls_Mach, ll_MachLen) End Function |
![]() |
Nascondere il puntatore del mouse |
Declare Function ShowCursor& Lib "user32" (ByVal bShow As Long) |
ShowCursor 0 ' nasconde il puntatore ShowCursor 1 ' riattiva la visualizzazione del puntatore |
![]() |
Come generare codici alfanumerici univoci |
Option Explicit Private Declare Function CoCreateGuid Lib "ole32.dll" (pguid As Guid) AsLong Private Declare Function StringFromGUID2 Lib "ole32.dll" (rguid As Any, ByVal lpstrClsId As Long, ByVal cbMax As Long) As Long Private Type Guid Data1 As Long Data2 As Long Data3 As Long Data4(8) As Byte End Type Public Function CreateGUID() As String Dim udtGUID As Guid Dim strGUID As String Dim bytGUID() As Byte Dim lngLen As Long Dim lngRetVal As Long Dim lngPos As Long lngLen = 40 bytGUID = String(lngLen, 0) CoCreateGuid udtGUID lngRetVal = StringFromGUID2(udtGUID, VarPtr(bytGUID(0)), lngLen) strGUID = bytGUID If (Asc(Mid$(strGUID, lngRetVal, 1)) = 0) Then lngRetVal = lngRetVal - 1 End If strGUID = Left$(strGUID, lngRetVal) CreateGUID = strGUID End Function Public Function CreateID() As String CreateID = RemoveChars(CreateGUID, "{-}") End Function Private Function RemoveChars(Source As String, Chars As String) As String Dim enumChars As Long RemoveChars = Source For enumChars = 1 To Len(Chars) RemoveChars = Replace(RemoveChars, Mid(Chars, enumChars, 1), "") Next End Function Sub main() MsgBox CreateID() End Sub |